// pages/feedback/feedback.js
const app = getApp();

Page({
  data: {
    feedbackType: '', // 反馈类型
    feedbackContent: '', // 反馈内容
    contactInfo: '', // 联系方式
    imageList: [], // 上传的图片列表
    isSubmitting: false, // 是否正在提交
    feedbackTypeOptions: [
      { id: 'bug', name: '功能异常' },
      { id: 'suggestion', name: '功能建议' },
      { id: 'experience', name: '体验问题' },
      { id: 'other', name: '其他问题' }
    ]
  },

  onLoad: function() {
    // 页面加载时的逻辑
  },

  // 选择反馈类型
  selectFeedbackType: function(e) {
    const { type } = e.currentTarget.dataset;
    this.setData({
      feedbackType: type
    });
  },

  // 输入反馈内容
  inputFeedbackContent: function(e) {
    this.setData({
      feedbackContent: e.detail.value
    });
  },

  // 输入联系方式
  inputContactInfo: function(e) {
    this.setData({
      contactInfo: e.detail.value
    });
  },

  // 选择图片
  chooseImage: function() {
    const that = this;
    if (this.data.imageList.length >= 9) {
      wx.showToast({
        title: '最多上传9张图片',
        icon: 'none'
      });
      return;
    }

    wx.chooseImage({
      count: 9 - this.data.imageList.length,
      sizeType: ['compressed'],
      sourceType: ['album', 'camera'],
      success: function(res) {
        const tempFilePaths = res.tempFilePaths;
        that.setData({
          imageList: that.data.imageList.concat(tempFilePaths)
        });
      }
    });
  },

  // 预览图片
  previewImage: function(e) {
    const { index } = e.currentTarget.dataset;
    wx.previewImage({
      current: this.data.imageList[index],
      urls: this.data.imageList
    });
  },

  // 删除图片
  deleteImage: function(e) {
    const { index } = e.currentTarget.dataset;
    const imageList = this.data.imageList;
    imageList.splice(index, 1);
    this.setData({
      imageList: imageList
    });
  },

  // 提交反馈
  submitFeedback: function() {
    // 表单验证
    if (!this.data.feedbackType) {
      wx.showToast({
        title: '请选择反馈类型',
        icon: 'none'
      });
      return;
    }

    if (!this.data.feedbackContent || this.data.feedbackContent.trim().length < 5) {
      wx.showToast({
        title: '请输入至少5个字的反馈内容',
        icon: 'none'
      });
      return;
    }

    if (!this.data.contactInfo) {
      wx.showToast({
        title: '请留下联系方式',
        icon: 'none'
      });
      return;
    }

    this.setData({
      isSubmitting: true
    });

    // 模拟提交数据到服务器
    setTimeout(() => {
      // 在实际应用中，这里应该调用真实的上传图片接口
      // 然后调用提交反馈接口
      wx.showToast({
        title: '感谢您的反馈',
        icon: 'success',
        duration: 1500,
        success: () => {
          setTimeout(() => {
            wx.navigateBack();
          }, 1500);
        }
      });

      this.setData({
        isSubmitting: false
      });
    }, 1000);
  },

  // 返回上一页
  goBack: function() {
    wx.navigateBack();
  }
});